Method for determining dynamic errors in a measuring machine

ABSTRACT

A method for determining dynamic errors in a measuring machine that gives the position of a mobile element of the machine in a working space with respect to a reference system, comprising: a calibration step, defined in which is at least one input-output model, which describes the dynamic behaviour of at least part of the measuring machine; said input-output model yields, in response to at least one input quantity u, a plurality of output quantities y, which comprise, among other things, the position error introduced in the measurement of position by the elastic deformations of parts of the machine that undergo dynamic deformation; a step of definition of an estimator filter that yields, in response to measured values of input quantities u and, in response to measured values of a subset of the output quantities y, an estimate of the position error; the filter is obtained by means of an analytical method based upon the input-output model; and a step of continuous real-time reconstruction of the error, in which the measured values of the input quantities u and the measured values of a subset of the output quantities y are applied at input to said estimator filter.

PRIORITY

This application claims priority under 35 U.S.C. 365 AND/OR 35 U.S.C. 119 to PCT application no. PCT/IT2007/000465 filed on Jun. 28, 2007.

TECHNICAL FIELD

The present invention relates to a method for determining dynamic errors in a measuring machine.

BACKGROUND ART

As is known, a measuring machine with cartesian co-ordinates, of the contact type, comprises three slides that are mobile along the respective orthogonal axes and are designed to move a contact sensor in a three-dimensional measurement space. Said measuring machine returns at output the position of the contact sensor with respect to a cartesian reference system, from the measurement of the position of the respective slides. To move the measurement sensor, linear electric motors that impress a force on the moving masses are used.

The accelerations required, in the current operating conditions, with increasingly shorter times for performing the task of measurement, entail forces that can reach, in the transients, sufficiently high values (of the order of some tens of newtons), which, on account of the greater lightness of modern structures, induce elastic deformations in the moving parts that are significant for the precision of the measurement.

To guarantee the class of precision of the machine the measurement error caused by the elastic deformation must be estimated and then compensated.

DISCLOSURE OF INVENTION

Aim of the present invention is to provide a method for determining dynamic errors in a measuring machine that will enable determination and compensation of the dynamic errors with extreme precision (for example, of the order of the micron).

The above aim is achieved by the present invention, as described in Claim 1.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described with reference to the attached drawings, which illustrate a preferred non-limiting embodiment thereof and in which:

FIG. 1 illustrates, by way of example, a measuring machine, in which the method of the present invention is implemented;

FIG. 1 a illustrates, in cross-sectional view, a detail of the measuring machine;

FIGS. 1 b and 1 c illustrate a portion of the machine of FIG. 1 subjected to dynamic deformation;

FIG. 2 describes the steps of the method according to the present invention;

FIG. 3 a details some steps of the method; and

FIG. 3 b illustrates the evolution in time of physical quantities involved in the method according to the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

In the example of embodiment described, the measuring machine (of the portal type) comprises a base 5 provided with a plane resting surface (working surface) 6, mobile along which is a motor-driven slide 8, which slides along a first axis (axis Y) of the orthogonal reference system of the working space.

The slide 8 is approximately C-shaped and comprises two vertical uprights 8 a, 8 b perpendicular to the resting surface 6 and a top horizontal cross-member 8 c, which extends between the top ends of the vertical uprights 8 a, 8 b.

The top cross-member 8 c carries a second slide 10, which slides along a second axis (axis X), of the orthogonal reference system.

Mounted on the second slide 10 is a vertical column 12, mobile along a third axis (axis Z) of the orthogonal reference system. The vertical column 12 carries at the bottom the measurement sensor 3 (of a known type).

The measuring machine 1 is controlled by an electronic unit (not illustrated) provided with a power section 14 e (represented schematically), which supplies the linear electric motors (not illustrated) that move the slides 8, 10 and the column 12 for displacement of the measurement sensor 3 along the axes Y, X and Z and hence its positioning in the measurement space.

In particular, the electronic power unit 14 e supplies to the linear electric motors illustrated above the currents I_(Y), I_(X) and I_(Z) to bring about the respective displacements of the slides 8, 10 and of the column 12.

The measuring machine 1 supplies at output—through a software based upon algorithms of a known type—the position xa, ya, za of the measurement sensor 3 in the measurement space, detecting the position of the slides along the respective axes X, Y and Z.

In the operating conditions described above, the position of the measurement sensor 3 is affected by a position error ex, ey, of a dynamic type with respect to the measured values xa, ya, za, due to the fact that the mechanical structure that supports the measurement sensor 3 (principally the vertical upright 8 a, the cross-member 8 c, and the area of connection between the top end of the vertical upright 8 a and the cross-member 8 c) undergoes elastic deformation on account of the forces impressed by the electric motors that move the slides 8 and 10.

The deformation of the measuring machine 1 is exemplified with reference to FIGS. 1 b and 1 c, in which FIG. 1 b illustrates the deformations caused by the displacement of the slide 8 along the axis Y. Said deformations mainly comprise:

-   -   torsion of the upright 8 a about the axis Z;     -   bending of the upright 8 a;     -   bending of the cross-member 8 c.

FIG. 1 c illustrates, instead, the deformations caused by the displacement of the slide 10 along the axis X.

Said deformations mainly comprise:

-   -   deformation of the joint between upright 8 a and cross-member 8         c;     -   bending of the cross-member 8 c;     -   rotation of the upright 8 a about the axis Y; and     -   translation of the cross-member 8 c along the axis X.

In the calibration stage (identification of the dynamic model), the position error ex, ey along the axes Y and X is measured by directly mounting on the working surface 6 a two-dimensional position transducer 14 (of a known type), which is not subject to the deformations of the moving parts of the machine, and by measuring the difference (i.e., the position error ex, ey) between the position xg, yg of the head of the measurement sensor 3 obtained on the two-dimensional position transducer 14 and the position (xa and ya), as detected by the machine, i.e., ex=xg−xa, ey=yg−ya.

For example, the functions of the two-dimensional position transducer 14 can be performed by the comparison system VM 182 produced by the firm HEIDENHAIN, used for calibration of the machine.

On the measuring machine 1, there is moreover installed a laser sensor 16, which supplies information on the dynamic deformations my, mx that the mechanical structure of the machine 1 undergoes during the movements of the slides 8 and (as regards the deformations, see what was said with reference to FIGS. 1 b and 1 c).

With particular reference to FIG. 1 a, the laser sensor 16 is supported by a vertical post 20, which extends within a vertical cavity 19 of the upright 8 a and has a first bottom end 20 a rigidly fixed with respect to the slide 8 (and hence not subject to the deformations of the upright 8 a), and a second top end, which exits from the upright 8 a and carries a laser-emitting device 22, housed in a first end of an internal cavity 24 of the cross-member 8 c.

The laser-emitting device 22 emits a laser beam 26, which traverses the cavity 24 parallel to the axis X and hits the target 28 set at the opposite end of the cavity 24.

The target 28 is constituted by a position-sensor device (PSD) of a known type, which detects displacements of the laser beam 26 along the two axes Y and Z of the orthogonal reference system according to the deformation of the mechanical structure.

The displacements my, mz of the laser beam detected on the target 28 along the axes Y and Z, together with other information, enable tracing-back (by means of techniques described hereinafter) to the dynamic deformations undergone by the mechanical structure as a result of the movement of the axes Y and X.

It is in any case clear how the measuring machine 1 illustrated above is an example of machine on which the method of the present invention, which can be transferred to measuring machines having a different structure, can find application.

The method forming the subject of the present invention comprises an initial step of calibration (block 100, FIG. 2), in which an input-output model M is defined, which describes the dynamic behaviour of the measuring machine 1 (said step is also defined as “model identification”).

In particular, the input-output model M (FIG. 3 a) is multivariable with at input (input u) the currents for supplying the two motors for controlling the respective displacements along the axes X and Y (it has preliminarily been verified that the dynamics due to the displacements of the slide along the axis Z leads to negligible errors), and at output a plurality of response quantities (output quantities y), which comprise the position ya, xa of the measurement sensor 3 obtained from the axes of the machine, the position errors ey, ex introduced by the elasticity of the machine 1 along the axes X and Y, which are measured by means of the two-dimensional position transducer 14, and the deformations my, mz of the machine measured by the laser sensor 16.

On account of the linearity of the phenomenon for small perturbations, the entire model may be broken down into two models: a first model M1, which receives at input the current Iy of the motor corresponding to the axis Y and supplies at output the position ya along the axis Y, as well as position errors ey, ex and measurements of deformation my, mz along the axes Y and Z, and a second model M2, altogether equivalent to the model M1, which has as input the current 1 x of the motor corresponding to the axis X, and supplies at output the position xa along the axis X, as well as the position errors ey, ex and the measurements of deformation my, mz along the axes Y and Z.

In fact, to a stress along one of the axes there correspond a main error contribution along the same axis, and a secondary contribution (due to the mechanical couplings) along the orthogonal axis. The global error of the machine results from the superposition of the effects of the error contributions made by the two models (said part will be clarified hereinafter).

In what follows, the definition of the first model M1 with respect to one of the axes (the axis Y) will be described in so far as the method of definition of the second model M2 with respect to the other axis (axis X) is altogether equivalent.

The model M1 has, as input quantity u, the current Iy, and the output quantities y are:

-   -   the position ya along the axis Y given by the machine 1;     -   the deformations my, mz along the axes Y and Z measured by the         laser sensor 16; and     -   the position error ey, ex along the axes Y and X measured by the         two-dimensional position transducer 14.

The differential equations that characterize the model M1 are:

x=Ax+Bu+Kε

y=Cx+Du+ε

where u is the input measured (the current Iy to the motor), y the output quantities, x the state variables of the dynamics, ε is the innovation process resulting from the identification. Finally, A, B, C, D and K are the matrices of the model, in particular,

u = [Iy] $y = \begin{bmatrix} {ya} \\ {my} \\ {mz} \\ {ex} \\ {ey} \end{bmatrix}$ $A = {{\begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} & a_{15} & a_{16} \\ a_{21} & a_{22} & a_{23} & a_{24} & a_{25} & a_{26} \\ a_{31} & a_{32} & a_{33} & a_{34} & a_{35} & a_{36} \\ a_{41} & a_{42} & a_{43} & a_{44} & a_{45} & a_{46} \\ a_{51} & a_{52} & a_{53} & a_{54} & a_{55} & a_{56} \\ a_{61} & a_{62} & a_{63} & a_{64} & a_{65} & a_{66} \end{bmatrix}\mspace{14mu} B} = \begin{bmatrix} b_{11} \\ b_{21} \\ b_{31} \\ b_{41} \\ b_{51} \\ b_{61} \end{bmatrix}}$ $C = {{\begin{bmatrix} c_{11} & c_{12} & c_{13} & c_{14} & c_{15} & c_{16} \\ c_{21} & c_{22} & c_{23} & c_{24} & c_{25} & c_{26} \\ c_{31} & c_{32} & c_{33} & c_{34} & c_{35} & c_{36} \\ c_{41} & c_{42} & c_{43} & c_{44} & c_{45} & c_{46} \\ c_{51} & c_{52} & c_{53} & c_{54} & c_{55} & c_{56} \end{bmatrix}\mspace{14mu} D} = \begin{bmatrix} d_{11} \\ d_{21} \\ d_{31} \\ d_{41} \\ d_{51} \end{bmatrix}}$ ${K = \begin{bmatrix} k_{11} & k_{12} & k_{13} & k_{14} & k_{15} \\ k_{21} & k_{22} & k_{23} & k_{24} & k_{25} \\ k_{31} & k_{32} & k_{33} & k_{34} & k_{35} \\ k_{41} & k_{42} & k_{43} & k_{44} & k_{45} \\ k_{51} & k_{52} & k_{53} & k_{54} & k_{55} \\ k_{61} & k_{62} & k_{63} & k_{64} & k_{65} \end{bmatrix}}\mspace{14mu}$

With regard to the definition of the process innovation, reference may be made to the text by Lennart Ljung, entitled “System Identification—Theory for the user”, Prentice Hall; Upper Saddle River, N.J. 1999.

The input quantities u and output quantities y are measured and recorded during a series of work cycles (block 110), in which the slide 8 is made to translate along the axis Y, subjecting the machine 1 to an acceleration that causes deformation of the machine itself by dynamic effect. Then, the dynamic input-output model M1 that describes the elastic behaviour of the machine is identified, setting in relation the input quantities u with the output y quantities.

A typical example of work cycle, used for identification, is illustrated in FIG. 3 b.

The slide 8 of the axis Y with a closed-loop control is made to be follow a path of displacement, which, starting from a stationary condition, has a first step in acceleration, to which there corresponds a ramp at a speed T1, a second step at a constant speed, and a third step of deceleration T2, until it comes to a stop again. To this path there corresponds a current cycle, characterized by a positive step during acceleration, a reduced value during the stretch at constant speed, and a negative step during deceleration.

During calibration, the input quantities u and output quantities y are sampled, with a sampling step of 500 μs and stored.

The samples of the input quantities and output quantities are supplied to an identification algorithm, which, with a maximum-likelihood approach (for the definition of maximum-likelihood algorithm, reference may be made to the text by Lennart Ljung, entitled “System Identification—Theory for the user”, Prentice Hall; Upper Saddle River, N.J. 1999), applied to an innovative linear model, characterized by a quintuple of matrices A,B,C,D,K, identifies the input-output model M1, as described by the system of differential equations appearing above.

It is pointed out that structured models have been experimented, which approximate the dynamics of the deformations through a slide and a series of elastically hinged pendula, and black-box models, where the order and the structure of the matrices are determined, together with the parameters, by the identification algorithm.

To be precise, the model is not constant throughout the working space of the machine, so that different calibration steps are performed similar to the one described above before the entire measurement space is covered.

The variability of the model relates to the axes X and Z, so that the working space has been divided into a plurality of sections (for example, nine sections: bottom-left, bottom-centre, bottom-right, centre-left, etc.), in which respective models M1 a, M1 b, M1 c . . . , M1 n have been defined.

There has then been defined a global model M1compl, which approximates the various models M1 a, M1 b, M1 c, . . . , M1 n in the three-dimensional measurement space.

In particular, it has been noted how the matrices A, B, D and K of the various models are substantially constant in the measurement space, whereas only part of the matrix C is modified in the three-dimensional measurement space.

The global model M1compl consequently comprises the matrices A, B, D and K that do not vary in the measurement space, and a matrix C, having a portion (the rows corresponding to the error signals ex, ey) with variable parameters, which is a function of the co-ordinates of the axes X and Z and hence variable in the measurement space

C=C(xa,za)

Said function C=C(xa,za) is a non-linear function with respect to the axes X and Z and is obtained by interpolating the matrices C of the various models M1 a, M1 b, M1 c, . . . , M1 n. in the different sections of the working space with b-spline functions (for the definition of spline functions see the text by M. Broen, C. Harris, entitled “NeuroFuzzy Adaptive Modelling and Control”, Prentice Hall International (U.K.) Limited, 1994).

At the end of the calibration step, the two-dimensional position transducer 14 is removed.

Following upon definition of the global model M1compl, which represents the “signature” of the particular machine undergoing calibration, the step 100 is then followed by a step 200, in which, starting from the global model M1compl, an estimator filter {circumflex over (M)}1 is designed.

For this design step, the model M1compl is represented (in the time domain, a similar representation is possible in a discrete way) in the following form:

x = Ax + Bu + K ɛ y = C 1x + D 1u z = C 2x + D 2u where u = [Iy] $y = \begin{bmatrix} {ya} \\ {my} \\ {mz} \end{bmatrix}$ $z = \begin{bmatrix} {ex} \\ {ey} \end{bmatrix}$ $A = {{\begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} & a_{15} & a_{16} \\ a_{21} & a_{22} & a_{23} & a_{24} & a_{25} & a_{26} \\ a_{31} & a_{32} & a_{33} & a_{34} & a_{35} & a_{36} \\ a_{41} & a_{42} & a_{43} & a_{44} & a_{45} & a_{46} \\ a_{51} & a_{52} & a_{53} & a_{54} & a_{55} & a_{56} \\ a_{61} & a_{62} & a_{63} & a_{64} & a_{65} & a_{66} \end{bmatrix}\mspace{14mu} B} = \begin{bmatrix} b_{11} \\ b_{21} \\ b_{31} \\ b_{41} \\ b_{51} \\ b_{61} \end{bmatrix}}$ ${C\; 1} = {{\begin{bmatrix} c_{11} & c_{12} & c_{13} & c_{14} & c_{15} & c_{16} \\ c_{21} & c_{22} & c_{23} & c_{24} & c_{25} & c_{26} \\ c_{31} & c_{32} & c_{33} & c_{34} & c_{35} & c_{36} \end{bmatrix}\mspace{14mu} D\; 1} = \begin{bmatrix} d_{11} \\ d_{21} \\ d_{31} \end{bmatrix}}$ ${C\; 2} = {{\begin{bmatrix} c_{41} & c_{42} & c_{43} & c_{44} & c_{45} & c_{46} \\ c_{51} & c_{52} & c_{53} & c_{54} & c_{55} & c_{56} \end{bmatrix}\mspace{14mu} D\; 2} = \begin{bmatrix} d_{41} \\ d_{51} \end{bmatrix}}$

Among the outputs are highlighted the ones measured (distinguished by the symbol y in the system appearing above) and non-measured outputs, which are to be estimated (distinguished by the symbol z in the system appearing above).

The matrix C1 comprises the first three rows of the matrix C, and the matrix C2 the last two rows of the matrix C. Likewise, the matrix D1 comprises the first three rows of the matrix D, and the matrix D2 the last two rows of the matrix D.

As regards variability in space, according to this new representation of the model, only the matrix C2 is effectively a function of the position of the axes X and Z, whilst all the other matrices are constant:

C2=C2(xa,za).

The estimator filter {circumflex over (M)}1 is designed with robust-filtering techniques of analysis (in this connection, see the text by P. Colaneri, A. Locatelli, J. C. Jeromel, entitled “Control theory and design, a RH2-RH-inf viewpoint”, Academic Press, 1997) on the basis of the global model M1compl, previously identified.

An effective technique that enables improvement of the precision of the estimator consists in accepting that said filter will yield an estimate delayed in time (interpolation). This technique is described, for example, in the article by P. Bolzerem, P. Colaneri and G. De Nicolao, entitled “Discrete-Time H-Infinity fixed lag smoothing” IEEE Trans. On Signal Processing, Vol. 52, No. 1, pp. 132-141, 2004.

In other words, at the instant of time (t) the estimator makes available the estimation of the dynamic deformations for the instant (t-Delta). Delta is a time delay small enough not to jeopardize the efficiency of the machine in rendering the measurements made readily available, but is sufficiently large to improve the precision of the estimation. Practically, it has been found that a value of Delta equal to a few hundredths of a second is convenient.

The estimator filter {circumflex over (M)}1 yields, in response to the values measured of the input u and of the output quantities y (measurements ya along the axis Y and values of deformation my, mz), an estimate z of the error.

The estimator filter {circumflex over (M)}1 is represented by the equations

{dot over ({circumflex over (x)}=Â{circumflex over (x)}+Bu+{circumflex over (K)}y

{circumflex over (z)}=C2(xa,za){circumflex over (x)}+D2u

where y is the vector of the outputs measured by the machine and u is the vector of the inputs, and where the matrices Â, {circumflex over (K)} are the result of the designing of the estimator starting from the matrices A, B, K, C1, D1, according to the robust-filtering techniques cited above.

In this way, the estimator filter {circumflex over (M)}1 supplies at output an estimate of the error of a dynamic type.

The matrices of the estimator filter {circumflex over (M)}1 of a linear type, following upon their definition, are stored and integrated in the machine measurement software for estimation of the unknown error (block 400):

The operations illustrated above are repeated with regard to the current of the axis X for definition of an estimator filter {circumflex over (M)}2. The results coming from the filters {circumflex over (M)}1 and {circumflex over (M)}2 are added together in accordance with the principle of superposition.

The method of measurement illustrated above can undergo variations that will be illustrated hereinafter. In particular, according to a first variant embodiment of the method, the signals my, mz generated by the deformation measuring device 16 are not used for definition of the input-output model M1 and consequently are not made available to the estimator filter {circumflex over (M)}1.

Consequently, the estimation is based exclusively upon the current of the motors and the position of the slide.

In this way, the input u comprises the current Iy, and the output y is made up of:

-   -   the position ya of the machine 1; and     -   the position error ex, ey, as measured with the two-dimensional         position transducer 14.

A second variant also envisages the further elimination of the information on the current, so that the model and the estimator are based only upon the measurement of position of the slide. In this case, the input of the model is given just by the noise, and the outputs y are the position ya and the errors ex, ey. 

1-12. (canceled)
 13. A method of determining dynamic errors in a measuring machine that gives the position of a mobile element of the machine in a working space with respect to a reference system, comprising: calibration to define at least one input-output model, which describes a dynamic behaviour of at least part of the measuring machine; the input-output model yields, in response to at least one input quantity, a plurality of output quantities, which comprise at least a position error introduced in a measurement of position by elastic deformations of parts of the machine that undergo dynamic deformation, and further comprising definition of an estimator filter, which yields in response to measured values of the at least one input quantity, and in response to measured values of a subset of the output quantities, an estimate of the position error; the filter is obtained by an analytical method based upon the input-output model; and continuous, real-time, error reconstruction, wherein measured values of the at least one input quantity and the measured values of a subset of the output quantities are applied at input to the estimator filter.
 14. The method of claim 13, wherein calibration comprises: performing at least one step of movement, in which at least one mobile part of the measuring machine is set in motion to introduce accelerations that cause the dynamic deformations in the machine; detecting a plurality of samples of the at least one input quantity and output quantities during the movement of the mobile element; storing the plurality of samples; and supplying the pluralities samples to an identification algorithm to define matrices of the input-output model, the model capable of being represented by a system of linear differential equations.
 15. The method of claim 14, wherein the input-output model may be represented by a system of differential equations of the type: {dot over (x)}=Ax+Bu+Kε y=Cx+Du+ε where u represents input quantities, y represents output quantities, x represents internal state variables, and A, B, C, D and K are matrices and ε is an innovation process.
 16. The method according to claim 13, wherein calibration comprises: dividing the working space into a plurality of sections, in which respective models M1 a, M1 b, M1 c, . . . , M1 n are defined; and defining a global model M1compl that approximates the models M1 a, M1 b, M1 c, . . . , M1 n in the measurement space.
 17. The method of claim 16, wherein the global model M1 c is defined by a series of matrices A, B, D and K that are constant in the measurement space, and by a matrix C having a portion with variable parameters that is a function C=C(x,z) of co-ordinates along two orthogonal axes X and Z.
 18. The method of claim 17, wherein the function C=C(x,z) is of a non-linear type and is obtained by interpolating the respective matrices of the models M1 a, M1 b, M1 c, . . . , M1 n, defined in the different sections of the working space with b-spline functions.
 19. The method of claim 13, wherein the at least one input quantity comprises at least a value of a current supplied to a motor that actuates the mobile element of the measuring machine to move the mobile element along a respective first direction of measurement.
 20. The method of claim 13, wherein the output quantities comprise: a position supplied by the measuring machine; a measurement of dynamic deformation my, mz of the mobile element that undergoes dynamic deformation during a measurement cycle; a position error existing between the position and an absolute reference that remains undeformed during displacement of the mobile element of the measuring machine.
 21. The method of claim 20, wherein quantities input to the filter comprise: the position supplied by the measuring machine; the measurement of the dynamic deformation my, mz of the mobile element that undergoes dynamic deformation during the measurement cycle; and the value of the current supplied to the motor that actuates the mobile element of the measuring machine to move the mobile element along a respective first direction of measurement.
 22. The method of claim 13, wherein the output quantities comprise: a position supplied by the measuring machine; and a position error existing between the position and an absolute reference that remains undeformed during displacement of the mobile element of the measuring machine.
 23. The method of claim 22, wherein quantities supplied at input to the filter comprise: the position supplied by the measuring machine; and a value of a current supplied to a motor that actuates the mobile element of the measuring machine to move the mobile element in a respective first direction of measurement.
 24. The method of claim 13, wherein the at least one input quantity comprises noise, and the output quantities comprise: a position supplied by the measuring machine; and a position error existing between the position and an absolute reference that remains undeformed during displacement of the mobile element of the measuring machine. 